/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.epsi.blokus.widget;

import de.matthiasmann.twl.EditField;
import de.matthiasmann.twl.Event;

/**
 * Widget de type EditField amélioré
 * - Ajout d'un texte par défaut effacé lors du click
 */
public class EditFieldEnhance extends EditField {

    // Texte par défaut
    private String defaultText;

    /**
     * Define a default text 
     * @param txt
     */
    public void setDefaultText(String txt)
    {
        this.defaultText = txt;
        this.setText(txt);
    }

    /**
     * Is the current text equal to the default text ? 
     * @return
     */
    public Boolean isDefaultText()
    {
        return this.defaultText != null && this.defaultText.equals(this.getText());
    }

    /**
     * On écoute l'évènement "Clic" pour effacer le texte par défaut si il est encore affiché
     * @param evt
     * @return
     */
    @Override
    public boolean handleEvent(Event evt) {
        Boolean hit = super.handleEvent(evt);
        if (!hit) return false;
        
        switch(evt.getType())
        {
            case MOUSE_BTNDOWN:
                if (this.getText() != null && this.defaultText != null && this.getText().equals(this.defaultText)) {
                    this.setText("");
                }
            break;
        }

        return hit;
    }


}
